package br.com.leopard.erp.gym.web.util;

import org.apache.commons.lang3.StringUtils;

public final class NomeClasseUtil {
	public static String getNomeClasseFormatado(Class<?> classe) {
		String nomeClasse = classe.getSimpleName();
		StringBuilder nomeClasseFormatada = new StringBuilder();

		char[] letrasNomeClasse = nomeClasse.toCharArray();

		for (int i = 0; i < letrasNomeClasse.length; i++) {

			if (i > 0 && Character.isUpperCase(letrasNomeClasse[i])) {
				nomeClasseFormatada.append("_");
			}

			nomeClasseFormatada.append(StringUtils.lowerCase(letrasNomeClasse[i] + ""));
		}

		return nomeClasseFormatada.toString();
	}

	public static String getNomePermissao(String tipoPermissao, Class<?> classe) {
		StringBuilder nomePermissao = new StringBuilder("acesso_" + tipoPermissao + "_");
		nomePermissao.append(getNomeClasseFormatado(classe));

		return nomePermissao.toString();
	}

}
